Ключевые кадры - КК обозначены на шкале анимации синим, если ты попал в этот кадр, то его номер справа из чёрного станет столь же синим. Например, анимация длится 2000 кадров, от 1000 до 3000 на шкале, а охота сократить её вдвое, для этого просто посчитаю новую позицию КК. Пусть после начального следующий КК стоит на месте 1333, потом 1500 и так далее; для определения позиции вычитаю 1000, делю примерно на два, прибавляю 1000, так первый кадр должен сместиться с 1333 на 1167; попадаю на шкале в 1333, нажимаю C или Ctrl+C, перехожу на 1167 и нажимаю Ctrl+V, а потом убираю кадр на 1333, что можно сделать, попав в него и нажав Del, либо выделив участок с ним и в меню по правой клавише нажав Очистить. Не помню точно, но с выделением на шкале есть какие-то особенности, либо там тянуть выделение надо не левой кнопкой мыши, а правой, либо не всегда срабатывает с первого раза, либо с начала шкалы или до конца не выделяется, в любом случае можешь просто щёлкнуть в одно место, зажать Shift и щёлкнуть во второе место для выделения. Далее 1500 нужно перенести на 1250, всё опять повторяешь. И так до конца шкалы. Потом длительности анимации указываешь не с 1000 до 3000, а с 1000 до 2000.
Как вариант, можно не менять длительность анимации, а сдвинуть пораньше КК, где юнит наносит урон, типа замах укоротить.
P. S. Сначала было очень неудобно это выполнять, но после смещения нескольких шкал анимаций стало получаться весьма шустро. Только нужно постоянно быть внимательным, чтобы не сбиться в расчётах нового местоположения КК, и помнить, чтобы не удалять КК на старом месте раньше установки на новое, а ещё, что C или Ctrl+C были точно нажаты для этого кадра, а не остались от предыдущего)
всё тему можно закрывать, пару раз сделал то же самое и о чудо всё заработало, в общем спишем на кривизну конвертера :D
P. S. если усидчивости хватит то ожидайте это чудо в разделе модели)
EDIT:
Im terrible sorry but in later wc3 version this model wont work as I planned, apperently teamcolored attatchments wont change color anymore so this model is more or less fucked, im planning on makeing a full series of glows for eatch color but im not sure that i would get approwed here so don't hope to much, once again im sorry.
Но вероятно это только с этой моделью, ибо у меня в wizards world все работает как надо.
Самое простое - отредактировать стандартные лучи. Сделать их максимально толстыми наверху и обычными пониже, увеличить количество частиц в секунду и время жизни. Можно и переблёскивающийся оттенок сделать сверху на середину.
Если правильно настроить угол падения, то можно добиться, чтобы лучи были видны только по краям камеры.Поищи статью про погоду. Хотя можешь воспользоваться этой картой, но там нет пояснений, только файл погоды и путь.
Редактировать удобнее через SLKEditor
Если мне память не изменяет, то в вк3 можно сделать либо синфазный партикль, либо XY партикль. Последний делается проставлением галочки в соответствующей колонке в магосе (модел эдиторе)
Если XY неподходит, то есть смысл подумать над тем, как-бы сделать такой эффект мешем.
не очень понимаю "Zap'ов", напишите подробно пожалуйста
Он имеет ввиду молнии, как я понимаю. Те, которые используют текстуру zap что-то там .blp
Интересно посмотреть над чем ты там работаешь кстати!
По идее там ничего сложного нет. Первый триггер при срабатывании способности объединяет нужное количество юнитов в радиусе действия в [массив], далее всех этих юнитов скрывает, а на месте каждого создаётся дамми с подходящей моделькой (судя по скрину, Волна Силы), которым тоже назначается переменная [массив], индексы массива дамми приравниваются индексам массива юнитов, на месте которых они созданы. Дамми вносятся в группу, которая получает приказ следовать к позиции кастера, после чего включается второй триггер. Второй триггер должен ловить приказ СТОП для юнитов в группе. То есть дамми не должны никак иначе сменить приказ, раз они москиты, лишь при достижении цели пути. Так вот триггер отлавливает приказ стоп у юнита в группе, мгновенно переносит на место москита соответствующего юнита из параллельного массива, делает его видимым, убивает этого москита и убирает из группы. Последним действием проверяется, что если юнитов в группе 0, то удалить группу и отключить триггер.
Надо ещё эффекты нужные подставить и такая система рассчитана на одного юнита с этой способностью, чтобы сделать её MUI, надо потестировать, получают ли дамми при создании приказ СТОП, если нет, тогда отключение и включение второго триггера не требуется и триггер надо лишь немного переделать, а если да, то надо подумать и потестировать.
Там все гораздо проще, на каждого юнита аттачится экземпляр структуры где хранится цель, заклинатель, кол-во урона в сек, и сколько хп у тебя было, по нему высчитывается урон каждые 4 секунды. Тебе ни 10 таймеров ни группы не нужны.
function WC5 takes nothing returns boolean
local trigger t = GetTriggeringTrigger( )
local integer S5I = GetHandleId( t )
local unit P7I = ( LoadUnitHandle( HashData, ( S5I ), ( 2 ) ) )
local unit P8I = ( LoadUnitHandle( HashData, ( S5I ), ( 17 ) ) )
local integer SUI = GetUnitAbilityLevel( P7I, 'A0NO' )
local integer NPI = GetTriggerEvalCount( t )
local real WD5 = ( LoadReal( HashData, ( S5I ), ( 392 ) ) )
local real H84 = 0
if GetTriggerEventId( ) == EVENT_WIDGET_DEATH then
call DestroyEffect( ( LoadEffectHandle( HashData, ( S5I ), ( 32 ) ) ) )
call FlushChildHashtable( HashData, ( S5I ) )
call S0I( t )
else
if NPI == 4 or NPI == 8 or NPI == 12 then
call DestroyEffect( ( LoadEffectHandle( HashData, ( S5I ), ( 32 ) ) ) )
if NPI == 12 then
call FlushChildHashtable( HashData, ( S5I ) )
call S0I( t )
elseif NPI == 4 or NPI == 8 then
call SaveEffectHandle( HashData, ( S5I ), ( 32 ), ( AddSpecialEffectTarget( "effects\\NetherInferno.mdx", P8I, "origin" ) ) )
endif
set H84 = ( 0.08 + SUI * 0.08 ) * QDI( WD5 - GetUnitState( P8I, UNIT_STATE_LIFE ), 0 )
if H84 > 0 then
call UYI( "+" + I2S( R2I( H84 ) ), 2, P8I, 0.023, 68, 0, 187, 216 )
endif
endif
call DamageTarget( P7I, P8I, 1, 5 * SUI + H84 )
endif
set t = null
set P7I = null
set P8I = null
return false
endfunction
function WE5 takes nothing returns nothing
local trigger t = CreateTrigger( )
local integer S5I = GetHandleId( t )
local unit P7I = GetTriggerUnit( )
local unit P8I = GetEnumUnit( )
call DestroyEffect( AddSpecialEffectTarget( "effects\\NetherInferno.mdx", P8I, "origin" ) )
call TriggerRegisterTimerEvent( t, 1, true )
call TriggerRegisterDeathEvent( t, P8I )
call TriggerAddCondition( t, Condition( function WC5 ) )
call SaveUnitHandle( HashData, ( S5I ), ( 17 ), ( P8I ) )
call SaveUnitHandle( HashData, ( S5I ), ( 2 ), ( P7I ) )
call SaveReal( HashData, ( S5I ), ( 392 ), ( ( GetUnitState( P8I, UNIT_STATE_LIFE ) ) * 1.0 ) )
call SaveEffectHandle( HashData, ( S5I ), ( 32 ), ( AddSpecialEffectTarget( "effects\\NetherInferno.mdx", P8I, "origin" ) ) )
set t = null
set P7I = null
set P8I = null
endfunction
function WF5 takes nothing returns nothing
local unit P7I = GetTriggerUnit( )
local location l = GetSpellTargetLoc( )
local real x = GetLocationX( l )
local real y = GetLocationY( l )
local group g = NTI( )
local integer SUI = GetUnitAbilityLevel( P7I, 'A0NO' )
call GroupEnumUnitsInRange( g, x, y, 180 + 25, Condition( function D01 ) )
call ForGroup( g, function WE5 )
call NSI( g )
call RemoveLocation( l )
set l = null
set g = null
endfunction
function WG5 takes nothing returns boolean
if GetSpellAbilityId( ) == 'A0NO' then
call WF5( )
endif
return false
endfunction
function NI1 takes nothing returns nothing
local trigger t = CreateTrigger( )
call UMI( t, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( t, Condition( function WG5 ) )
set t = null
endfunction
Как видишь все очень примитивно.Точно так же делаешь структуру с данными кто, где, когда. Нет смысла пытатся хранить сразу группу.
похоже более всего на мусор, попадающий в память откуда-то извне. Обычно пропущенная строка автокаста такой фигней страдает. Нельзя точно сказать, нужно менять поля и смотреть. К счастью, описания можно менять и локально, не перепаковывая карту
Рад, что ты предложил выход, но я, боюсь, твой код себе никак не перенесу, ибо, как писал в вопросе, лишь на GUI могу работать. 8gabriel8,
мне кажется, проблема не в этом триггере, а в другом, который запускает триггеры и таймеры.
Триггер, запускающий таймер, вряд ли многое испортить может
Мдаааа... Я свою ошибку таки нашёл. Она была в самом тупом месте из всех возможных.
Я действительно не понимаю, это у меня голова не работает совершенно, или в редакторе какие-то баги
Цитата из вопроса, у меня не работает голова.
Так вот, это я дурак полный.
Запихнул обнуление своей переменной ВНИМАНИЕ! в триггер, который игрокам-компьютерам каждые 2 секунды обновляет ресурсы. А вместе с этим и обнуляет снова и снова мою переменную. Обнаружил ли я это через дебаги? Нет, просто от скуки и безнадёжности положения начал прокручивать и листать все триггеры.
Спасибо всем, кто пытался помочь, это было очень приятно) Мне жаль, что вы ломали голову и тратили время впустую по моей глупости и невнимательности.
Karp, сейчас неохота ставить) Да я им пока что не планирую пользоваться.
Попробуй создавать порчу в определённой точке - может, в переменных косяк?
попробую этот вариант, например в центре региона какого нибудь, но уже завтра =) отпишусь как проверю.
У тебя макс. лвл = 1, а спеллов для изучения 2. В триггере на изучение спелла первым стоит Ледяной щит:D
и триггерно он не хочет учить второй спел получается? понял. Тогда остаётся установить макс лвл на 10 к примеру, и героям отключить получение опыта через триггер?
конфликтуют со стандартными снарядами: missle атаки, способностей и прочего. (они не достигают визуально цели и останавливаются в исходной позиции юнита до смещения)
Ну так всегда было... когда делают блинк через SetUnitXY, то он перестаёт эвейдить снаряды, это давно известная проблема. В ряде случаев фиксится хайдом юнита.
Maniac_91, насрать, 12 игрок это нейтрал враждебый, от 0 до 11 игроки люди, нужно выбрать игрока к примеру красный в (диапазоне 0 11) и назначить как не играет.
quq_CCCP, ну я и предположил, что автор имеет в виду 12 игрока в GUI, который является 11-м в JASS )
12 игрок Коричневый, если считать что 1-й это Красный. Я в рефорджеде редактирую, там нейтралы идут после 24 игрока.
Нашел в действиях AI - Ignore the guard positions of all Player 12 (Brown) units и теперь приказы работают корректно и никаких самовольностей
Ловишь приказ строительства рудника, находишь ближайший рудник (вообще, это приказ "цель- юнит", и можно ссылаться на рудник напрямую, но на всякий случай опишу более общий вариант), запоминаешь золото, после постройки добавляешь столько золота в свой рудник.
я так и не понял почему ты не можешь просто сделать как улучшение что не так с улучшением как в обычном случае.
дело в описании, вот и не могу так сделать,если сделать через улучшение здания, то при наведении на иконку вплывает подсказка, та же подсказка что будет и у самого здания в списке построек у светлячка, тоесть если делать через улучшение (по идее этот же юнит должен быть и в списке построек (а он там есть) ту подсказку которую я хочу будет лишней. вот пример: Древо жизни превращается в древо мира, при этом все союзные юниты вблизи древа получают повышеную регенерацию здоровья. (а теперь представь что эта подсказка будет в списке построек у светлячка, вообще не то)
Решил проблему путем выбора древа когда истекает однократный таймер, также подумал и решил что наверно лучше делать через способности, а не исследования. Но у меня остался один вопрос, если этот тригер отвечающий за применения этих способностей будет использовать несколько игроков, я не знаю будет ли использоватся оно коректно или нет, также и с отдельным триггером Таймер. Вот что вышло в данный момент:
Я решил это через отслеживание начала заклинания, после чего ставил юнита на паузу на 20 сек с проигрыванием анимации. т.е. способность не завершалась, но выгляедло это так, как будто она завершилась
Это особенность патча 1.30, на 1.26 всё нормально с этим. Может быть попробовать поменять приоритет кампании в файле priority, в статье про mix-архив это подробнее описано.
В функции main по умолчанию есть вызов стандартной функции InitBlizzard, в которой есть вызов функции InitSummonableCaps.
function InitSummonableCaps takes nothing returns nothing
local integer index
set index = 0
loop
// upgraded units
// Note: Only do this if the corresponding upgrade is not yet researched
// Barrage - Siege Engines
if (not GetPlayerTechResearched(Player(index), 'Rhrt', true)) then
call SetPlayerTechMaxAllowed(Player(index), 'hrtt', 0)
endif
// Berserker Upgrade - Troll Berserkers
if (not GetPlayerTechResearched(Player(index), 'Robk', true)) then
call SetPlayerTechMaxAllowed(Player(index), 'otbk', 0)
endif
// max skeletons per player
call SetPlayerTechMaxAllowed(Player(index), 'uske', bj_MAX_SKELETONS)
set index = index + 1
exitwhen index == bj_MAX_PLAYERS
endloop
endfunction
Тут выставляется лимит на обычных скелетов, убираются иконки парового танка и берсерка.
Перед выполнением InitBlizzard выполняются все функции, что генерируются в настройках игроков, для этого в InitSummonableCaps стоят проверки.
А вот интересно, когда делаешь грейд на берсерков, то в бараке нанимаешь троллей или берсерков?
Достаточно взглянуть на грейд и становится ясно, что нанимаешь сразу берсерков.
Решение вопроса такое.
1. Во время инициализации ставим для всех игроков (как в функции InitSummonableCaps) разрешаемое кол-во рыцарей на 0.
2. Один триггер регистрирует появление алтаря на карте.
С: Юнит входит в область Вся карта
У: Тип Triggering unit равно Алтарь
Д: Поставить лимит на производство Рыцарь в -1 для Игрока-владельца Triggering Unit
3. Другой триггер регистрирует смерть алтаря.
С: Юнит умирает
У: Тип Умирающий юнит равно Алтарь
Д: Выбрать всех юнитов в группе (Юниты Игрока-владельца Умирающего юнита с условием (Тип Matching unit равно Алтарь))
Если первый юнит в последней созданной группе равно Нет юнита то (Поставить лимит на производство Рыцарь в 0 для Игрока-владельца
Умирающего юнита)
Уничтожить последнюю созданную группу.
ставишь x на 0 ставишь y на -11 и вуаля ионка скрыта спелл работает, но учитывай то что за приказ он время тратить будет если ты отдал другйо приказ во время каста он не срабоатет у меня так захват портала рабоатет
а способ выше некоторые способности не работают только x 0 и y -11 робит
Виндволк, безумие, божественный щит, жар преисподней, манащит (последние 2 имеют состояние вкл/выкл)
Можно всё шлёпать на основе этих способностей, главное чтобы у одного героя не повторялись на одинаковой основе
А так в 131+ есть позиция курсора, можно даже на область и на юнита сделать без звивания каста, и без фреймов, просто наводим курсор, жмём кнопку, запускаем кд, делаем даммикаст.. вуала, шторм болт полетел во врага, абилка на кд мана отнялась... а герой всё кастанул на ходу
Какие именно эффекты в модели дублировал, а какие создал с нуля? Надо попытаться сравнить эти эффекты, сохранив модель в формат mdl и открыв в блокноте. Может быть дело даже не в самих эффектах, а в упоминании где-то их ID.
Talgar2, так путь задай неактивной ReplaceableTextures\CommandButtonsDisabled\DISBTNAbilDoubleStrike.blp. Но вообще мне кажется, что ты чего-то в РО не так сделал, так как неактивная иконка нужна во время пауз, например, когда меню открываешь. Скинь лучше карту с этой способностью и иконками.
Вот статья: xgm.guru/p/wc3/wrongimport
Если кратко, то у каждой иконки должна быть активная и неактивная версия. У активной версии путь импорта может быть любой, например, war3mapImported\ИКОНКА.blp, а у неактивной обязательно ReplaceableTextures\CommandButtonsDisabled\DISИКОНКА.blp.
Если это не совсем то, потому что, судя по вопросу, отображаются именно неактивные, а активные зелёные, то по какому пути импортировал иконку и указал её в Редакторе объектов?
Name Legion, если что там указаны аргументы через запятую после takes идет список принимаемых аргументов, что делает та или иная функция можно юзая переводчик гугл.
FabulousTiger, большенству людей сложно влиться в чужой проект если тот абсолютно не отвечает некоторым критериям либо человеку может просто не нравится задумка. И это далеко не та ситуация когда нужно проглотить свое негодование, уровень роботы такого человека будет напрямую зависеть от того насколько ему нравится проект. KaneThaumaturge, твоя скорость изучения JASS будет напрямую зависеть от того насколько ты в это захочешь втянуться. Правда должен предупредить что есть люди которые просто не приспособлены к тому что-бы понять програмирование в его ярчайшем проявлении, такие люди обычно при разработке проекта опираются на то что умею лучше всего.
Я из опыта скажу что: есть некоторые вещи которые возможно создать только при помощи JASS, но реализацию большенства идей можно выполнить при помощи GUI. Покопайся в чужих наработка пойми что ты хочешь и что можешь использовать из предоставленного тебе и вперед делать проект.
А это никого не смущает? то что локалки поставлены не первыми
function Trig_treeegs_Actions takes nothing returns nothing
set udg_Unitper = GetSpellAbilityUnit()
local unit Usp = udg_Unitper
local unit orud1
local unit orud2
local unit orud3
. . .
В общем - рано тебе ещё прям так полностью переходить на Jass. Тут надо переделывать всё, начиная с момента удаления создаваемого эффекта, и вплоть до момента созданиея юнита по XY. А так же момент с полярными смещениями (ты там вообще лишнюю область создаёшь, а значит не знаешь как надо правильно полярки использовать на GUI).
Короче порылся в ХГМ, потыкал, все испробывал, и сам нашел ответ, вот несколько моментов для того, чтобы заработал:
Требуется установленный Warcraft 3: The Frozen Throne последней версии 1.26a. Скачайте нормальный варкрафт 3, а то попадаются урезанные или нерабочие версии. Лучше оригинальную версии приобрести, и обновить. Хотя пиратки тоже неплохи. Вот использую сборкой от R.G. Mechanics
Путь к программе НЕ ДОЛЖЕН содержать русских символов
Совершайте установку в отдельную от Warcraft 3 папку
Рекомендуется приостановить антивирусные программы до установки, потом выполнить установку, затем добавить папку c JNGP в исключения, и потом только снова включить антивирусы. Эта программа вторгается в процесс worldedit.exe, поэтому может считаться вредоносной
Не трогайте файл worldedit121.exe, он должен быть и в папке игры и в папке JNGP
Сначала "Сохранить карту", только потом "Проверка карты", а ещё иногда бывает лучше сохранять пару раз
Выше, это стандартное описание для работы. Если не сработает, пробуем вот, что:
Выставляем оптимальные настройки к JNGP, указанные на скрине (см. ссылку) xgm.guru/forum/showthread.php?t=13118 Обычно, эти настройки должны быть изначально после установки JNGP (ну мало ли пригодятся)
Теперь суть моей проблемы (не знаю, что из этих ниже пунктов сработало, но сработало):
Я установил игру и JNGP на рабочий стол. Потому что на диске С, в папках типа Program Files.(x86) и др. блокирует браундмер. Обычно требует назойливо для работы права администратора, очень раздражает. Но сомневаюсь, что заработало из-за этого. Раньше не мешало нисколько.
Запустить JNGP в режим совместимости. Заходим в свойство exe-шника. Поставил семерку.
Если UMS изначально включен, то выключить его и включить (Enable UMS). Потом перезапустить WE. Скорее всего из-за него.
Из-за UMS также бывают ошибки: могут выскачить 2-3 окна : что отсутствует TriggerClearActions и layerAll. Когда пропускаешь эти окна, просто нажав на ок, затем появляется ошибка с памятью и уже потом закрывается редактор. Происходят такие ошибки, если пытаешься открыть обычным редактором карту, отредактированную в JNGP. Такая ошибка происходит, если некорректно настроен UMS (выкл. потом вкл.). Такая ошибка происходит, если открыть обычным редактором взломанную карту, которая наверняка сделана в UMS и использует необычный jass и прочие преимущества JNGP. Ошибки с UMS могут иногда происходить, поэтому скорее всего пункт 10 поможет
Если UMS перестает работать (некорректно работает), а 10 пункт не помогает. То есть плагин UMS по каким-то причинам не запускается, а JNGP стоит галочка напротив UMS (говорит, что включен). Короче узнать, что он запущен, можно при открытий редактора вместо стандартного окна выскакивает окно UMS. Если не выскакивает, надо попробовать завести снова работать. Плагин может по каким-то причинам сломаться (один раз баловался в настройках JNGP). Пробуйте потом удалить JNGP и потом заново переустановить. Или выкл. и вкл, UMS затем выйти из jngp, удалить и заново переустановить
Короче порылся в ХГМ, потыкал, все испробывал, и сам нашел ответ, вот несколько моментов для того, чтобы заработал:
Требуется установленный Warcraft 3: The Frozen Throne последней версии 1.26a. Скачайте нормальный варкрафт 3, а то попадаются урезанные или нерабочие версии. Лучше оригинальную версии приобрести, и обновить. Хотя пиратки тоже неплохи. Вот использую сборкой от R.G. Mechanics
Путь к программе НЕ ДОЛЖЕН содержать русских символов
Совершайте установку в отдельную от Warcraft 3 папку
Рекомендуется приостановить антивирусные программы до установки, потом выполнить установку, затем добавить папку c JNGP в исключения, и потом только снова включить антивирусы. Эта программа вторгается в процесс worldedit.exe, поэтому может считаться вредоносной
Не трогайте файл worldedit121.exe, он должен быть и в папке игры и в папке JNGP
Сначала "Сохранить карту", только потом "Проверка карты", а ещё иногда бывает лучше сохранять пару раз
Выше, это стандартное описание для работы. Если не сработает, пробуем вот, что:
Выставляем оптимальные настройки к JNGP, указанные на скрине (см. ссылку) xgm.guru/forum/showthread.php?t=13118 Обычно, эти настройки должны быть изначально после установки JNGP (ну мало ли пригодятся)
Теперь суть моей проблемы (не знаю, что из этих ниже пунктов сработало, но сработало):
Я установил игру и JNGP на рабочий стол. Потому что на диске С, в папках типа Program Files.(x86) и др. блокирует браундмер. Обычно требует назойливо для работы права администратора, очень раздражает. Но сомневаюсь, что заработало из-за этого. Раньше не мешало нисколько.
Запустить JNGP в режим совместимости. Заходим в свойство exe-шника. Поставил семерку.
Если UMS изначально включен, то выключить его и включить (Enable UMS). Потом перезапустить WE. Скорее всего из-за него.
Из-за UMS также бывают ошибки: могут выскачить 2-3 окна : что отсутствует TriggerClearActions и layerAll. Когда пропускаешь эти окна, просто нажав на ок, затем появляется ошибка с памятью и уже потом закрывается редактор. Происходят такие ошибки, если пытаешься открыть обычным редактором карту, отредактированную в JNGP. Такая ошибка происходит, если некорректно настроен UMS (выкл. потом вкл.). Такая ошибка происходит, если открыть обычным редактором взломанную карту, которая наверняка сделана в UMS и использует необычный jass и прочие преимущества JNGP. Ошибки с UMS могут иногда происходить, поэтому скорее всего пункт 10 поможет
Если UMS перестает работать (некорректно работает), а 10 пункт не помогает. То есть плагин UMS по каким-то причинам не запускается, а JNGP стоит галочка напротив UMS (говорит, что включен). Короче узнать, что он запущен, можно при открытий редактора вместо стандартного окна выскакивает окно UMS. Если не выскакивает, надо попробовать завести снова работать. Плагин может по каким-то причинам сломаться (один раз баловался в настройках JNGP). Пробуйте потом удалить JNGP и потом заново переустановить. Или выкл. и вкл, UMS затем выйти из jngp, удалить и заново переустановить
>>Но при нажатии кнопка обрабатывается неправильно, будто бы игнорируя 1 игрока и обрабатывается для 2 игрока (исходя из того что пишет [Дебаг] нажата кнопка №2, но может быть я ошибаюсь).
Мб где-то слетела бж функция GetConvertedPlayerID и изза этого цифорки поломались
Тык
function GetConvertedPlayerId takes player whichPlayer returns integer
return GetPlayerId(whichPlayer) + 1
endfunction
Проблема в том, что, если в этой точке построено здание, то IsTerrainPathable(x, y, PATHING_TYPE_BUILDABILITY) не помогает (это терраин проверяет, а вот то что там построено или нет ему пофиг). Посмотрел в триггерах, есть только текстуры земли - уберспласты (там эти текстурки для здания) - нет функции такой в библиотеке jngp для проверки точки. Пробовал через группу, но там своя заминка (походу выборка ловит тех юнитов, точки которых попали в выборку, а не на целиком. Точно не проверял, но не работает с группой), Clamp, решил через проверку
if (IssueBuildOrderById(YT, 'hhou', x, y) == false) then если не может построить, значит там здание или что-нибудь еще. Clamp, помог еще твоя ссылка ExecuteFunc. видимо у меня лимит был, не хотело работать (просто дебаг не отобрал. и раб стоял). Хотя это уже не нужно было
А да слегка подвисает на секунду =(
Урра короче без лагов сделал (версия 3), подредактировать недоработку и будет норм
Верни стандартную функцию создания стартовых юнитов, поставь игровую паузу, замени всех юнитов на свои аналоги, возобнови игру (я так же дополнительно прячу всех юнитов на этот период). Не забудь удалить все проклятые/оплетённые рудники, если нужно. Чтобы заново оплести рудник после замены юнитов (если заменял древа жизни), используй триггер "Боевая единица - (приказ без цели) Оплести ближайший рудник" (перед оплетением поставь паузу 0.1 секунды чтобы после удаления успел заново появится оригинальный рудник).
Бордер,
Главное игре это те кто в неё играют. С 2012 года олайн упал на той же гарене просто нереально сильно. Куча народу шла. Причём ушли самые норм челики, а не любители петров и жизни на арене. База игроков теряется, а не пополняется. Так что да, игра мёртвая. А насчёт патчей, то их качество то видел?
SirDragdord, никак, последние патчи баганые, там много чего не работает, играть там не вочто, хотите поиграть - 1.26а к вашим услугам, старшие патчи вара только для ознакомления и обучения, пока не вышел рефордж там нечего делать.
DarkLigthing, только 1 раз проверял? этот баг не всегда и у меня срабатывал
Всем большое спасибо за помощь. Удаляя триггеры по несколько папок, методом исключения нашёл триггеры из за которых всё это происходило, не знаю откуда там это действие в триггере, но я валерий меладзе получается
DarkLigthing, спасибо большое что подсказал проверить триггеры с событием юнит атакован)
Я заметил, что нормально копируется текст из не сохраненного блокнота, т.е. влияет кодировка. Также нормально копируется текст из Excel, причем строки таблицы работают в описании в РО безо всяких спецсимволов для переноса.
Sicre, только на 1 вопрос будем отвечать в этой теме, у тебя за убийство все пачки или за каждого юнита отдельный дроп?
Если за каждого, то по событию юнит определённого типа умирает, создвай предмет в точке смерти, можно также прописать шанс.
Если же ты работаешь с группой и даёшь общую награду за смерть группы, тогда надо группу создать, обозвать её например (пауки у фантана), добавить туда юнитов, и отслеживать смерть всей группы, ну и так будет каждый раз собственно
Просто юзай инг редактор, я вообще удивляюсь, зачем всё это переводили - перевести нормально так и не смогли. Часть полей называется как-то адово, даже не близко к реальности
Прозрачности удобно задавать в War3ModelEditore.
Выбираешь материал или геосет, где Alpha или Visibility ставишь галочку на Animated и по кадрам прописуешь прозрачность. Если выберешь фильтр Transparent для материала, то будет либо непрозрачно, либо полностью прозрачно. Для полупрозрачности и т.д. нужно фильтр AddAlpha.
Геосет только видим или нет, поэтому прозрачность только через материал.
world_editor, настраиваем мемхак по инструкции xgm.guru/p/wc3/easymem
Далее переносим из RenderEdge себе все триггеры и через кастом скрипт в нужный момент вызываем
call BlockMouse(false), всё курсора нет
Только сегодня скачал хаосного мурлока, где было еще таких моделей. Но уже не помню, т.к почистил историю.
Может сейчас поищу.
Не уверен, что это то, что тебе нужно, но вот.
» WarCraft 3 / mdlVis
» WarCraft 3 / Эффект свечения
» WarCraft 3 / Наложение Таймеров
» WarCraft 3 / Про оптимизацию
» WarCraft 3 / Проблема с таймером
» WarCraft 3 / Стандартный ИИ и атакующие юниты
» WarCraft 3 / Не работают рудники
» WarCraft 3 / Замена стандартного звука
» WarCraft 3 / Скрытые ресурсы
» WarCraft 3 / Жар преисподней (приказ)
» WarCraft 3 / Как узнать почему вылетает карта?
» WarCraft 3 / Зеленые иконки
» WarCraft 3 / Музыка из папки
» WarCraft 3 / Во время анимации пропадает модель
» WarCraft 3 / Помогите с локальными переменными
» WarCraft 3 / Лимит определённого типа юнитов
» WarCraft 3 / Сохранение карты
» WarCraft 3 / Как создать голосование
» WarCraft 3 / Рудник рядом с зданием
» WarCraft 3 / Герои в алтаре
» WarCraft 3 / Шипы у способности Панцирь с шипами
» WarCraft 3 / Проблема с версией
» WarCraft 3 / Русский редактор
» WarCraft 3 / Скрытые модели